package com.rainman.simpleredis.core.scheduled;


/**
 *
 * redis数据库值为：
 *  固定执行：
 *      {"rate":1000}
 *      该值意思为每秒执行一次
 *  执行后执行：
 *      {"delay":2000}
 *      该值意思为执行完成后2秒再触发执行
 *  cron表达式执行：
 *      {"cron":"0 0 12 * * ?"}
 *      该值意思为每天中午 12 点执行
 *      {"cron":"0 0 12 * * ?",zone:"GMT+8"}
 *      该值意思为每天中午 12 点执行,且指定时区
 *
 * 若同时设置，优先级最高为rate->delay->corn
 *
 */
public interface SimpleScheduledWorkerInterface {

    /**
     * 任务消费者
     *
     * @return
     */
    void doWork();

    /**
     * 该任务的key
     *
     * @return
     */
    String key();

    /**
     * 获取定时任务信息
     *
     * @return
     */
    ScheduledInfo info();


}
